Added support for HiFiBerry DAC+
authorDaniel Matuschek <info@crazy-audio.com>
Mon, 4 Aug 2014 08:06:56 +0000 (10:06 +0200)
committerRaspbian kernel package updater <root@raspbian.org>
Thu, 15 Feb 2018 17:28:19 +0000 (17:28 +0000)
commit140c1d21ccd72684e5e5d971066e9a7f81530561
tree424b68cdf782eceba77985fdfb8e696cbff4083b
parent69214c25597ffa039a6c423ec58174172e2fedb7
Added support for HiFiBerry DAC+

The driver is based on the HiFiBerry DAC driver. However HiFiBerry DAC+ uses
a different codec chip (PCM5122), therefore a new driver is necessary.

Add support for the HiFiBerry DAC+ Pro.

The HiFiBerry DAC+ and DAC+ Pro products both use the existing bcm sound driver with the DAC+ Pro having a special clock device driver representing the two high precision oscillators.

An addition bug fix is included for the PCM512x codec where by the physical size of the sample frame is used in the calculation of the LRCK divisor as it was found to be wrong when using 24-bit depth sample contained in a little endian 4-byte sample frame.

Limit PCM512x "Digital" gain to 0dB by default with HiFiBerry DAC+

24db_digital_gain DT param can be used to specify that PCM512x
codec "Digital" volume control should not be limited to 0dB gain,
and if specified will allow the full 24dB gain.

Add dt param to force HiFiBerry DAC+ Pro into slave mode

"dtoverlay=hifiberry-dacplus,slave"

Add 'slave' param to use HiFiBerry DAC+ Pro in slave mode,
with Pi as master for bit and frame clock.

Signed-off-by: DigitalDreamtime <clive.messer@digitaldreamtime.co.uk>
drivers/clk/Makefile
drivers/clk/clk-hifiberry-dacpro.c [new file with mode: 0644]
sound/soc/bcm/Kconfig
sound/soc/bcm/Makefile
sound/soc/bcm/hifiberry_dacplus.c [new file with mode: 0644]
sound/soc/codecs/pcm512x.c